package com.hulk.ratel.persistence.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.hulk.ratel.persistence.entity.SuperEntity;
import java.time.LocalDate;
import java.time.LocalDateTime;

import com.baomidou.mybatisplus.annotation.Version;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 
 * </p>
 *
 * @author hulk
 * @since 2018-12-13
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("t_partner_key")
public class PartnerKey extends SuperEntity {

    private static final long serialVersionUID = 1L;

    @TableField("partner_no")
    private String partnerNo;

    /**
     * RSA-RSA非对称算法
     */
    @TableField("key_algorithm")
    private String keyAlgorithm;

    @TableField("key_length")
    private Integer keyLength;

    @TableField("partner_publickey")
    private String partnerPublickey;

    @TableField("partner_publickey_suffix")
    private String partnerPublickeySuffix;

    @TableField("partner_privatekey")
    private String partnerPrivatekey;

    @TableField("partner_privatekey_suffix")
    private String partnerPrivatekeySuffix;

    @TableField("modulus")
    private String modulus;

    @TableField("platform_privatekey")
    private String platformPrivatekey;

    @TableField("platform_publickey")
    private String platformPublickey;

    @TableField("platform_privatekey_suffix")
    private String platformPrivatekeySuffix;

    @TableField("platform_publickey_suffix")
    private String platformPublickeySuffix;

    /**
     * RELATIVE-相对路径
            ABSOLUTE-绝对路径
            DATABASE-数据库存储
     */
    @TableField("keypath_type")
    private String keypathType;

    @TableField("made_time")
    private LocalDateTime madeTime;

    /**
     * Y-启用
            N-关闭
     */
    @TableField("use_flag")
    private String useFlag;

    @TableField("start_date")
    private LocalDate startDate;

    @TableField("expiry_date")
    private LocalDate expiryDate;

    @TableField("created_by")
    private String createdBy;


    @TableField("audited_time")
    private LocalDateTime auditedTime;

    /**
     * N-未审核
            Y-已审核
            U-已修改
     */
    @TableField("audited_flag")
    private String auditedFlag;

    @TableField("audited_by")
    private String auditedBy;

    @TableField("updated_by")
    private String updatedBy;





    /**
     * N-未归档
            Y-已归档
     */
    @TableField("archived_flag")
    private String archivedFlag;

    @TableField("key_index")
    private String keyIndex;

    @TableField("remark")
    private String remark;



    @TableField("ori_id")
    private String oriId;

    @TableField("rsv1")
    private String rsv1;

    @TableField("rsv2")
    private String rsv2;

    @TableField("rsv3")
    private String rsv3;


    public static final String PARTNER_NO = "partner_no";

    public static final String KEY_ALGORITHM = "key_algorithm";

    public static final String KEY_LENGTH = "key_length";

    public static final String PARTNER_PUBLICKEY = "partner_publickey";

    public static final String PARTNER_PUBLICKEY_SUFFIX = "partner_publickey_suffix";

    public static final String PARTNER_PRIVATEKEY = "partner_privatekey";

    public static final String PARTNER_PRIVATEKEY_SUFFIX = "partner_privatekey_suffix";

    public static final String MODULUS = "modulus";

    public static final String PLATFORM_PRIVATEKEY = "platform_privatekey";

    public static final String PLATFORM_PUBLICKEY = "platform_publickey";

    public static final String PLATFORM_PRIVATEKEY_SUFFIX = "platform_privatekey_suffix";

    public static final String PLATFORM_PUBLICKEY_SUFFIX = "platform_publickey_suffix";

    public static final String KEYPATH_TYPE = "keypath_type";

    public static final String MADE_TIME = "made_time";

    public static final String USE_FLAG = "use_flag";

    public static final String START_DATE = "start_date";

    public static final String EXPIRY_DATE = "expiry_date";

    public static final String CREATED_BY = "created_by";


    public static final String AUDITED_TIME = "audited_time";

    public static final String AUDITED_FLAG = "audited_flag";

    public static final String AUDITED_BY = "audited_by";

    public static final String UPDATED_BY = "updated_by";



    public static final String ARCHIVED_TIME = "archived_time";

    public static final String ARCHIVED_FLAG = "archived_flag";

    public static final String KEY_INDEX = "key_index";

    public static final String REMARK = "remark";





    public static final String ORI_ID = "ori_id";

    public static final String RSV1 = "rsv1";

    public static final String RSV2 = "rsv2";

    public static final String RSV3 = "rsv3";

}
